#include <iostream>
#include <vector>
#include <algorithm>
#define endl '\n'
#define int long long
#define pii pair<int, int>
using namespace std;

// 已知
string s, t;
// 未知

bool check(int i)
{
    for (int j = 0; j < t.size(); ++j) // 枚举t的每一个位置
    {
        // 如果s中对应的位置跟t中的位置不一样或者已经走到外面
        if ((s[i + j] != '?' and s[i + j] != t[j]) or i + j >= s.size())
        {
            return false; // 那么就返回false
        }
    }
    return true; // 能执行到这里没有提前返回就是true
}
signed main()
{
    cin >> s >> t;
    for (int i = 0; i < s.size(); ++i) // 枚举s的每一个位置
    {
        if (check(i)) // 检查i号位开始的子串是否符合条件
        {
            cout << "Yes" << endl;
            return 0;
        }
    }
    cout << "No" << endl;
    return 0;
}